home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / utilities / disk / vdisk25.lha / vdisk.doc < prev    next >
Encoding:
Text File  |  1994-12-30  |  12.8 KB  |  284 lines

  1. $VER: vdisk.doc 2.5 (29.12.1994)   (C) 1994 by Etienne Vogt
  2.  
  3.  
  4. INTRODUCTION
  5.  
  6.  vdisk.device is a driver for a recoverable RAM disk. It started 2 years ago as
  7. a hack of ASDG-RAM (written by Perry S. Kivolowitz). These hacked versions 
  8. (1.3 -> 1.12) were not distributed.
  9.  As of version 2.0, it has been entirely rewritten, with many new features added :
  10.  
  11.  - Up to 16 units with virtually unlimited size (512 MB)
  12.  - Dynamic memory allocation and (optionnaly) deallocation
  13.  - Full support of all AmigaDOS Filesystems.
  14.  - Will survive the heaviest system crashes as long as its own data is not 
  15.    corrupted.
  16.  - In case of a recovery failure, the cause can be reported by a support command.
  17.  
  18.  VDisk requires AmigaDOS 2.04 or higher (V37). It has been heavily tested on
  19. the following configurations :
  20.  
  21.  - A500 68000 ECS , 1 Mb Chip 2 Mb Fast , WB 2.04 -> 3.1
  22.    20 Mb IDE-XT + 170 Mb SCSI HDs
  23.  - A3000 68030 ECS, 2 Mb Chip 8 Mb Fast , WB 2.04 -> 3.1
  24.    100 Mb + 1 Gb SCSI HDs
  25.  - A500 68040(PP&S) ECS , 1 Mb Chip 2 Mb Fast16 8 Mb Fast32 , WB 2.04
  26.    50 Mb SCSI HD
  27.  - A4000 68040 AGA, 2 Mb Chip 8 Mb Fast , WB 3.0
  28.    120 Mb IDE HD
  29.  
  30.  VDisk has been developed independently from StatRam (Another ASDG-RAM based
  31. ram drive written by Richard Waspe and Nicola Salmoria)
  32.  
  33.  
  34. DISTRIBUTION
  35.  
  36.  VDisk is Freely Distributable Copyrighted Software (FreeWare).
  37.  Some restrictions from the original ASDG-RAM package remains :
  38.  
  39.  This package :
  40.  
  41.  - Must be copied only in the form of the original lha archive, as uploaded
  42.    to aminet by the author.
  43.  - May not be distributed by any commercial software or hardware vendor.
  44.  - May not be sold under any guise.
  45.  - Must contain the following copyright information.
  46.  
  47.    vdisk.device, Copyright 1994 by Etienne Vogt.
  48.    Inspired from asdg.vdisk.device, Copyright 1987 by Perry S. Kivolowitz
  49.     (ASDG Incorporated)
  50.  
  51.  Specifically :
  52.  
  53.   No maker or seller of Amiga expansion hardware or software may distribute
  54.  this software in any way. No reseller of public domain software may
  55.  distribute this software either (as this in NOT in the public domain).
  56.   The only acceptable means of distribution is by networks, bbs's and by
  57.  non-profit user groups. Distribution MUST BE FREE (except for media
  58.  costs plus a token amount covering only shipping and handling).
  59.  
  60.  Fred Fish is explicitely allowed to include this package in his AmigaLibDisk
  61.  collection (either on floppy disk or on CD-ROM), as is the aminet group for
  62.  their Aminet CD-ROM.
  63.  
  64.  
  65. DISCLAIMER
  66.  
  67.  This software is provided "as is" without any warranty, either expressed or
  68. implied. By using this software, you accept the entire risk as to its quality
  69. and performance.
  70.  
  71.  
  72. INSTALLATION
  73.  
  74.  - Copy the file 'vdisk.device' to your DEVS: directory .
  75.    NEVER CHANGE THE NAME OF THIS FILE !!!
  76.  
  77.  - Copy the support commands CleanRamDisk, DeleteRamDisk, VDStat to your
  78.    C: directory or whatever you like. You may also copy the .info files.
  79.  
  80.  - If you have OS 2.1 or higher, copy the file VD0 to your DEVS:DOSDrivers
  81.    directory. You may change the name of this file to whatever you want.
  82.    You may edit this file to change some parameters of the recoverable RAM
  83.    disk, such as its maximum size. (see below)
  84.  
  85.  - If you have OS 2.0 , join the file VD0.mountlist to your DEVS:MountList
  86.    file. You may change the name of the mountlist entry to whatever you want.
  87.    You may also edit the mountlist record to change some parameters of the
  88.    recoverable RAM disk (see below). Make sure you do not have another
  89.    entry with the same name in your mountlist (especially if you use the
  90.    old asdg-ram).
  91.    Add a 'Mount VD0:' command to your S:User-Startup. If you have 1 Mb or
  92.    less memory, it may be wise to put this command at the beginning of your
  93.    Startup-Sequence to minimize the risk of recovery failures.
  94.  
  95.  - If you still have OS 1.x, well... It's time to upgrade !
  96.  
  97.  - After that, reboot your Amiga. If all is OK, you should see an icon named
  98.    VD-RAM-00 on your Workbench.
  99.  
  100.    NOTE : If you are upgrading from an earlier version of vdisk.device, you
  101.           *MUST* issue a 'DeleteRamDisk' command on all active units before
  102.           rebooting the system, or unexpected things may happen.
  103.           See the support commands below.
  104.  
  105.  
  106. CHANGING MOUNTFILE PARAMETERS
  107.  
  108.   WARNING : Changing any other MountFile parameter than those listed below will
  109.             cause the vdisk.device to cease to function and to wake up the
  110.             GURU with recoverable alert number $50000005 !
  111.             After changing ANY parameter of an already active unit, you MUST
  112.             issue a 'DeleteRamDisk' command on it before rebooting the system,
  113.             or unexpected things may happen.
  114.  
  115.  - DOS device name : Unlike the original asdg.vdisk.device, you can give any
  116.    name you want to the recoverable RAM disk. Just change the name of the
  117.    mountfile (OS 2.1+) or the mountlist entry (OS 2.0). The default name is
  118.    VD0 . It is recommended that the last character be a digit equal to the 
  119.    unit number.
  120.  
  121.  - Unit : This is the device unit number. You can have several recoverable
  122.    RAM disks by having different mountfiles with different values for this
  123.    keyword. Valid numbers are 0 to 15, giving a possible total of 16 units.
  124.  
  125.  - Flags : Different options may be selected here. At this time, you have 
  126.    only one option.
  127.    A Flags value of 1 will enable autocleaning on the corresponding unit.
  128.    This means that the memory used by the ram disk will automatically decrease
  129.    when you delete files in it. This also implies that you cannot use tools
  130.    like DiskSalv to recover the deleted files.
  131.    A Flags value of 0 disables autocleaning. You must then use the CleanRamDisk
  132.    support command to free memory after deleting files. Cleaning may still
  133.    happen if the system runs low on memory.
  134.    It is recommended that you keep AutoCleaning enabled.
  135.  
  136.  - HighCyl : This is used to specify the maximum size the recoverable RAM disk
  137.    is allowed to use. When this size is reached, you will get a 'Volume is full'
  138.    requester. Note that unlike RAD, vdisk.device does only allocate memory when
  139.    you write files into it.
  140.    Do not set this too high ! If you run out of memory before reaching the
  141.    maximum size of the RAM disk, you will get a 'write error' requester and
  142.    the files in the RAM disk might become corrupt !!!
  143.    The recommended maximum size is one fourth of your total FAST RAM.
  144.    The HighCyl parameter must be set to an ODD VALUE. HighCyl + 1 is the total
  145.    number of 'virtual tracks' usable by the RAM disk. One virtual track has
  146.    a size of 8 Kb (16 sectors of 512 bytes).
  147.    The default HighCyl value of 63 thus corresponds to a maximum size of
  148.    (63 + 1) * 8 = 512 Kb. For a 2 Mb RAM disk, you will set HighCyl to 255.
  149.    The maximum allowed value is 65533. This corresponds to 512 Mb.
  150.    Remember this value *MUST* be odd !
  151.  
  152.  - Buffers : This is the number of buffers used by the File System to speed up
  153.    disk accesses. With a RAM disk, it may actually slow it down, so you'd
  154.    better not change this.
  155.  
  156.  - BufMemType : Strictly speaking, this is the type of memory used by the
  157.    File System for its internal buffers. For vdisk.device, is also affects
  158.    the type of memory allocated to store data you write into it.
  159.    Useful values are 1 (any memory), 3 (only CHIP memory, not recommended !)
  160.    and 5 (only FAST memory, the default).
  161.    If you have both 16 bit and 32 bit FAST memory, and you want to use the
  162.    16 bit memory first for the RAM disk, set BufMemType to 517.
  163.  
  164.  - DosType : The type of File System used. Possible values are :
  165.     0x444f5300 : Old File System. Slow and not really needed since vdisk.device
  166.                  has its own checksums.
  167.     0x444f5301 : Fast File System. The default.
  168.     0x444f5302 : International Old File System. OS 2.1 + only.
  169.     0x444f5303 : International Fast File System. OS 2.1 +
  170.     0x444f5304 : Directory Caching Old File System. OS 3.0 +
  171.     0x444f5305 : Directory Caching Fast File System. OS 3.0 +
  172.    International mode may be used if you run OS 2.1 or higher. Directory Caching
  173.    is not a good idea since it will slow down the RAM disk.
  174.  
  175.  - Activate : Instructs the mount command to start the device immediately when
  176.    set to 1. If you set it to 0, you must add some command in your Startup
  177.    that accesses VD0 to start it really.
  178.  
  179.  
  180. SUPPORT COMMANDS
  181.  
  182.  CleanRamDisk :
  183.  
  184.    This command is used to force a vdisk unit to free deleted file space. It
  185.   is generally not needed with autocleaning units.
  186.    This command may be used from Workbench (but you can't use the switches).
  187.   Select the virtual disk icon, then double-click on the CleanRamDisk icon.
  188.  
  189.   Usage : CleanRamDisk DEVICE,UNIT/K/N,NOFREECHIP/S,REBUILD/S,FREEBOOT/S
  190.  
  191.   DEVICE : This is the AmigaDOS device name (ex. VD0: )
  192.   UNIT : Alternatively to the AmigaDOS name, you may specify the unit number
  193.          (ex. UNIT 0)
  194.   NOFREECHIP : When BufMemType is set to 1, CleanRamDisk normally attempts to
  195.                free some CHIP memory by relocating virtual tracks located in
  196.                CHIP RAM to FAST RAM. This switch inhibits this behaviour.
  197.   REBUILD : When a vdisk unit has read errors on it (generally caused by some
  198.             bad software that writes over someone else's memory), it will be
  199.             lost at the next reboot (which in this case may come soon).
  200.             This switch forces a rebuild of all internal checksums so that
  201.             the unit will be kept alive after reset. Some data will still be
  202.             bad, but you should be able to save most of it.
  203.   FREEBOOT : If something has been written in the RAM disk's boot blocks
  204.              (unused at this time), virtual track 0 will be locked in memory.
  205.              This switch will mark the boot blocks as free, thus enabling the
  206.              Cleaning routine to flush track 0 out.
  207.  
  208.  DeleteRamDisk :
  209.  
  210.    This command deletes a virtual disk unit entirely (as RemRAD for RAD). All
  211.   memory used is freed and the File System is inhibited. (VD0:BUSY)
  212.    This command may be used from Workbench. Select the virtual disk icon, then
  213.   double-click on the DeleteRamDisk icon. A requester will ask you for confir-
  214.   mation.
  215.    You *MUST* use this command when you change the mountfile parameters of
  216.   an active unit. You must also delete all active units when you upgrade to
  217.   a newer version of vdisk.device. 
  218.  
  219.   Usage : DeleteRamDisk DEVICE,UNIT/K/N
  220.  
  221.   DEVICE : This is the AmigaDOS device name (ex. VD0: )
  222.   UNIT : Alternatively to the AmigaDOS name, you may specify the unit number
  223.          (ex. UNIT 0)
  224.  
  225.  VDStat :
  226.  
  227.    This command is used to get information about a virtual disk unit that
  228.   failed to recover its data after reboot. It is mainly intended for beta
  229.   testers, so it cannot be used from Workbench.
  230.    Recovery error 2 (Root Structure not found) will always show at power-up.
  231.  
  232.   Usage : VDStat DEVICE,UNIT/K/N,FULL/S
  233.  
  234.   DEVICE : This is the AmigaDOS device name (ex. VD0: )
  235.   UNIT : Alternatively to the AmigaDOS name, you may specify the unit number
  236.          (ex. UNIT 0)
  237.   FULL : This switch causes more information to be displayed. It is mainly
  238.          used for debugging purposes.
  239.  
  240.   Recovery error codes :
  241.  
  242.   1 (Deleted Unit) : This will show after reboot when a unit is deleted by
  243.     the DeleteRamDisk command.
  244.   2 (Root structure not found) : This will always show up at power-up. It may
  245.     also happen if something else (like RAD) allocates memory in reverse order
  246.     before vdisk.device starts. To avoid this, always mount a vdisk unit before
  247.     any ramdrive units. Last possibility is a bad program trashing memory.
  248.     This error indicates that all units were lost.
  249.   3 (Bad Root Structure Checksum) : The Root Structure has been corrupted.
  250.     Bad program around ! All units were lost.
  251.   4 (Bad Sector CheckSum) : Either a bad program has trashed your data, or
  252.     you have a memory failure.
  253.   5 (Track not found) : Bad virtual track. This may happen if the unit maximum
  254.     size is set too big, your memory is heavily fragmented or a bad program
  255.     trashed some memory.
  256.   6 (Reallocation Failure) : Everything seems OK, but memory couldn't be
  257.     reallocated with AllocAbs(). This is a bad one that will also wake up
  258.     the guru with recoverable alert number $50010003. If you have access
  259.     to E-Mail, please send a bug report to me (address below).
  260.   7 (Unit Structure not found) : Unit structure get trashed. Bad program !
  261.   8 (Bad Unit Structure Checksum) : Corrupted unit structure. Bad Program !
  262.   9 (Unknown Error) : How did you get this one ?
  263.  
  264.  
  265. CHANGES
  266.  
  267.  V 2.4 :    First released version.
  268.  
  269.  V 2.5 :      - vdisk now retries failed memory allocations with MEMF_PUBLIC
  270.         when BufMemType was set to allocate a specific type of
  271.         memory. This should cause less write errors.
  272.           - French doc included after numerous requests.
  273.  
  274.  
  275. CONTACTING THE AUTHOR
  276.  
  277.  I can be reached by E-Mail at the following address : vogt@mesiob.obspm.fr
  278.  
  279.   Bug reports must include the complete hardware and software configuration,
  280.  including any third party software that was running in the background.
  281.  
  282.  
  283.                                          Etienne Vogt, 29/12/1994
  284.